<?php
namespace app\common\library;

use think\Cache;

class Cacheutil
{
    /**
     * 设置缓存
     *
     * @param string $key 缓存键名
     * @param mixed $value 缓存值
     * @param int|null $expire 缓存过期时间（秒），默认为 null 表示使用全局默认过期时间
     * @return bool
     */
    public static function set($key, $value, $expire = null)
    {
        return Cache::set($key, $value, $expire);
    }

    /**
     * 获取缓存
     *
     * @param string $key 缓存键名
     * @param mixed $default 默认值，当缓存不存在时返回该值
     * @return mixed
     */
    public static function get($key, $default = null)
    {
        return Cache::get($key, $default);
    }

    /**
     * 删除缓存
     *
     * @param string $key 缓存键名
     * @return bool
     */
    public static function rm($key)
    {
        return Cache::rm($key);
    }

    /**
     * 检查缓存是否存在
     *
     * @param string $key 缓存键名
     * @return bool
     */
    public static function has($key)
    {
        return Cache::has($key);
    }

    /**
     * 自增缓存值
     *
     * @param string $key 缓存键名
     * @param int $step 自增的步长，默认为 1
     * @return int|bool 自增后的值，如果失败则返回 false
     */
    public static function inc($key, $step = 1)
    {
        return Cache::inc($key, $step);
    }

    /**
     * 自减缓存值
     *
     * @param string $key 缓存键名
     * @param int $step 自减的步长，默认为 1
     * @return int|bool 自减后的值，如果失败则返回 false
     */
    public static function dec($key, $step = 1)
    {
        return Cache::dec($key, $step);
    }

    /**
     * 清除所有缓存
     *
     * @return bool
     */
    public static function clear()
    {
        return Cache::clear();
    }
}